Quiero monitorear un evento de desmontaje en mi NAS. tiene una página separada para desmontar todas las unidades USB. Lo incluí a través de iframe y quiero mantener el sitio cargándose hasta que la fuente de la imagen se haya cambiado a una fuente específica (una barra verde que indica que se ha desmontado). La razón por la que quiero mantenerlo cargándose es porque lo llamo a través de una función jquery.get desde otro sitio, y quiero que espere hasta que finalice el proceso de desmontaje. Sería genial si esto solo fuera posible en JavaScript simple, pero si es necesario, también puedo incluir jquery. Esto es lo que obtuve hasta ahora:Inmediatamente recibo un error de que el elemento "uiView_TestPic" no existe, incluso cuando agrego un tiempo de espera antes de ejecutar la verificación. El sitio iFrame incluido deja de cargarse tan pronto como se cargan todas las imágenes y no cuando termina todo el proceso.
2021-02-05 08:21:27
En primer lugar, ambos marcos deben ejecutarse en el mismo dominio porque los navegadores evitarán que el código de un marco acceda a cualquier elemento del otro marco si son dominios diferentes. Si los dos marcos no están en el mismo dominio, entonces el iframe deberá monitorearse y notificar al otro marco cuando haya terminado de usar algo como window.postMessage (). Si están en el mismo dominio, esto es un poco complicado. Tienes que obtener el elemento iframe (que está en tu documento principal). Tienes que esperar a que esté listo (ya que tiene que cargar su propio contenido). Luego, debe obtener el documento en el iframe. Luego, puede encontrar la imagen deseada en el iframe. Entonces puedes observar su contenido. Y, por supuesto, solo puede hacer algo de esto si el iframe es el mismo dominio que su página principal (debido a restricciones de seguridad). Primero, agregue una identificación al iframe: